﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entities;

public partial class pPlanDeServicioModificar : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (Session["Email"] != null)
                Master.UsuarioRegistrado(Session["Email"].ToString());
            lblError.Visible = false;
            lblActualizacionOK.Visible = false;
            lblIdPlandeServicio.Text = Request["IDPlanServicio"];
            CargarDatos();
        }
                     

    }


    private void CargarDatos()
    {
        try
        {
            var oPlan = PlanServicio.ObtenerUno(long.Parse(lblIdPlandeServicio.Text));
            txtPlanNombre.Text = oPlan.NombrePlan;
            txtPlanDescripcion.Text  = oPlan.Descripcion;
            txtPlanPrecio.Text = oPlan.PrecioAnual.ToString();
            txtPorcentajeIncrementoMensual.Text = oPlan.PorcentajeIncrementoMensual.ToString();
            txtPorcentajeIncrementoTrimestral.Text = oPlan.ProcentajeIncrementoTrimestral.ToString();

        }
        catch (Exception ex)
        {
            lblError.Text = "Error en método cargar producto, Descripción de error: " + ex.Message;
        }
    }


    private long GuardarNuevo()
    {
        long longIDUsuario = 0;
        try
        {
            PlanServicio  oPlan = new PlanServicio ();
            oPlan.NombrePlan = txtPlanNombre.Text;
            oPlan.Descripcion = txtPlanDescripcion.Text;
            oPlan.PrecioAnual  = decimal.Parse(txtPlanPrecio.Text);
            oPlan.PorcentajeIncrementoMensual  = decimal.Parse(txtPorcentajeIncrementoMensual.Text);
            oPlan.ProcentajeIncrementoTrimestral = decimal.Parse(txtPorcentajeIncrementoTrimestral.Text);
           
            //Guarda el Plan
            longIDUsuario = PlanServicio.Nuevo(oPlan);
            return longIDUsuario;
        }
        catch (Exception ex)
        {
            lblError.Text = "Error en método guardar Plan nuevo, Descripción de error: " + ex.Message;
            return longIDUsuario;
        }
        
    }

    private void ModificarDatosUsuario()
    {
        try
        {
            PlanServicio oPlan = PlanServicio.ObtenerUno(long.Parse(lblIdPlandeServicio.Text));
            /*txtPlanNombre.Text = oPlan.NombrePlan;
            txtPlanDescripcion.Text  = oPlan.Descripcion;
            txtPlanPrecio.Text = oPlan.PrecioAnual.ToString();
            txtPorcentajeIncrementoMensual.Text = oPlan.PorcentajeIncrementoMensual.ToString();
            txtPorcentajeIncrementoTrimestral.Text = oPlan.ProcentajeIncrementoTrimestral.ToString();*/
            oPlan.NombrePlan = txtPlanNombre.Text;
            oPlan.Descripcion = txtPlanDescripcion.Text;
            oPlan.PrecioAnual = decimal.Parse(txtPlanPrecio.Text);
            oPlan.PorcentajeIncrementoMensual = decimal.Parse(txtPorcentajeIncrementoMensual.Text);
            oPlan.ProcentajeIncrementoTrimestral = decimal.Parse(txtPorcentajeIncrementoTrimestral.Text);
            PlanServicio.Modificar(oPlan);

        }
        catch (Exception ex)
        {
            lblError.Text = "Error en método modificar datos Planes, Descripción de error: " + ex.Message;
        }
    }

    #region eventos



    protected void btnPopConfirmar_Click(object sender, EventArgs e)
    {
        Decimal dOut;
        if (!Decimal.TryParse(txtPlanPrecio.Text, out dOut))
        {
            lblError.Visible = true;
            lblError.Text = "El precio no tiene el formato correcto. Deben ser solo números ylos decimales deben estár separados por coma";
            return;
        }


        if (lblIdPlandeServicio.Text == "0")
        {
            if (GuardarNuevo() > 0)
            {
                lblError.Visible = false;
                lblActualizacionOK.Visible = true;
            }
        }
        else
        {
            lblError.Visible = false;
            ModificarDatosUsuario();
            lblActualizacionOK.Visible = true;
        }
        
    }


    protected void btnSiguiente_Click(object sender, EventArgs e)
    {
        Response.Redirect("pPlanesDeServicio.aspx");
    }
    #endregion


    protected void pDatos_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
    {
       /* string strCategoria = cmbCategoria.Text;
        long idCategoria = long.Parse(cmbCategoria.Value.ToString());
        cmbSubCategoria.DataSource = SubCategoria.ObtenerVariosPorCategotia(idCategoria);
        cmbSubCategoria.DataBind();
        cmbSubCategoria.Items[0].Selected = true;

        cmbCategoria.DataSource = Categoria.ObtenerTodos();
        cmbCategoria.DataBind();
        cmbCategoria.Text = strCategoria;*/
    }
}